package com.key.win.business.meeting.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.key.win.base.model.MybatisID;
import com.key.win.business.meeting.enums.MtRecordingOriginEnum;
import com.key.win.business.meeting.enums.MtRecordingTypeEnum;
import com.key.win.business.meeting.enums.MtTargetEnum;
import com.key.win.common.file.model.FileInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Set;

@ApiModel("[音频/视频/图片]录制")
@Data
@TableName("mt_Recording")
@EqualsAndHashCode(callSuper = true)
public class MtRecording extends MybatisID {

    @ApiModelProperty("目标类型")
    private MtTargetEnum targetType;

    @ApiModelProperty("目标Id")
    private String targetId;

    @ApiModelProperty("目标名称")
    private String targetName;

    @ApiModelProperty("会议文件类型")
    private MtRecordingTypeEnum type;

    @ApiModelProperty("会议文件的来源")
    private MtRecordingOriginEnum origin;

    @ApiModelProperty("关联附件表")
    private String fileId;

    @ApiModelProperty("分辨率")
    private String resolution;

    @ApiModelProperty("object")
    private String object;

    @ApiModelProperty("名称")
    private String name;

    @ApiModelProperty("status")
    private String status;

    @ApiModelProperty("时常")
    private double duration;


    @ApiModelProperty("sessionId")
    private String sessionId;


    @ApiModelProperty("附件")
    @TableField(exist = false)
    private FileInfo fileInfo;

    @ApiModelProperty("查询条件的开始时间")
    @TableField(exist = false)
    private String startDate;
    @ApiModelProperty("查询条件的结束时间")
    @TableField(exist = false)
    private String endDate;
    @ApiModelProperty("用户列表")
    @TableField(exist = false)
    private Set<String> userIds;
    @ApiModelProperty("设备列表")
    @TableField(exist = false)
    private Set<String> deviceIds;
    @ApiModelProperty("组列表")
    @TableField(exist = false)
    private Set<String> groupIds;
}
